var api = require('../../../utils/api.js')
var $ = require('../../../utils/util.js')
var regeneratorRuntime = require('../../../utils/runtime.js')
var app = getApp()
var Store = app.Store

Page({
  data: {
    user_name: '',
    rec: '', // 编号 【外部传进来】 
    report_id: '', //
    company: '', //  
    company_id:-1,
    factory: '', // 厂站名称【外部传进来】
    leader: '', // 抢修负责人id 【默认显示当前用户的 user_name】【二级页面 获取抢修负责人、 抢修人员 、缺陷发现人】
    staff: '', // 抢修人员id 【默认显示空】【二级页面 获取抢修负责人、 抢修人员 、缺陷发现人】
    content: '', // 抢修内容【外部传进来】
    companySelected: {}, // 企业用户选中的
    stationSelected: {}, // 厂站选中的
    getRepairerSelected: '', // 抢修负责人、 抢修人员 、缺陷发现人选中的
    u_i:0, // 0：默认添加 1: ????
    url: [
         api.robManage.add, 
         api.warningManage.setRushRepair, 
         api.repairsManage.setRushRepairByrepair,
         api.defect.setRushByDefect,
        ] , // 请求的url
  },
  onLoad: function (options) {
    Store.dispatch({
      type: 'SET_FROM',
      form: {

      },
    })

    if ('u_i' in options){
      this.setData({
        u_i: options.u_i
      })
      console.log(options.u_i+'......................')
    }

    if ('info' in options){
      var info = JSON.parse(options.info)
      console.log("3333333333333333333333");
      console.log(info, '$$info$$')
      
      this.setData({
        rec:  info.ticket_num || info.number || info.id ||'', // 编号 【外部传进来】 外面传来的就是添加 
        report_id: info.report_id || '',  // 
        dept_id:info.dept_id || '',
        company: info.company || info.companyName, // 公司名称【外部传进来】
        company_id: info.company_id || '',// 公司名称【外部传进来】
        factory: info.factory || info.cm || info.factoryName, // 厂站名称【外部传进来】
        factory_id: info.factory_id || info.station ||info.ch ||info.STATIONID,
        equip:info.xlm ||info.line_name || info.equipment || info.equip||'',
        equip_id:info.equip_id || '',
        // leader: wx.getStorageSync('user_id'), // 抢修负责人id 【默认显示当前用户的 user_name】【二级页面 获取抢修负责人、 抢修人员 、缺陷发现人】
        // leader_name:  wx.getStorageSync('user_name'),
        // staff:  wx.getStorageSync('user_id'), // 抢修人员id 【默认显示空】【二级页面 获取抢修负责人、 抢修人员 、缺陷发现人】
        // staff_name: wx.getStorageSync('user_name'),
        content: info.content ||info.ms || '', // 抢修内容【外部传进来】
        number:info.number ||'',//抢修单或者缺陷号
      })
      if($.isNull(this.data.dept_id)){
        if($.isNull(this.data.equip)){//非设备类
            api.$get(api.auth.findDeptIdBystation,{'name':this.data.factory,'parent_name':this.data.company,}).then((res)=>{
              this.setData({
                dept_id:res.data.dept_id,
                factory_id:res.data.dept_id
              })
            })
          }else{//设备类
            api.$get(api.auth.findDeptIdByEquip,{'parent_name':this.data.factory,'name':this.data.equip}).then((res)=>{
              this.setData({
                dept_id:res.data.dept_id,
                equip_id:res.data.dept_id,
              })
            })
          }
      }

    }

    
  },
  onShow: function () {
    var form = Store.getState().formInfor.form
    var key = form.key 
    if (!form.selected) return
   console.log("==="+form.selected.dept_id)
    switch (key) {
      case 'selectCompany': // 获取企业信息  
        this.setData({
          companySelected: form.selected,
          company: form.selected.dept_name,
          company_id: form.selected.dept_id,
          factory:'',
          equip:'',
          staff_name: '',
          leader_name: '',
        })
        break
      case 'selectStation': // 厂站名称
        this.setData({ 
          factory: form.selected.dept_name,
          factory_id: form.selected.dept_id,
          equip:'',
          staff_name: '',
          leader_name: '',
        })
        break
      case 'selectYcxlm': // 设备名称
        this.setData({
          equip: form.selected.YCXLM,
          equip_id: form.selected.dept_id,
          staff_name: '',
          leader_name: '',
        })
        break
      case 'getRepairer': // 获取抢修负责人、 抢修人员 、缺陷发现人 
        switch (form.config.type) {
          case 1: // 抢修负责人 
            this.setData({
              leader: form.selected.user_id,
              leader_name: form.selected.user_name
            }) 
            break;
          case 2: // 抢修人员
            this.setData({
              staff: form.selected.user_id,
              staff_name: form.selected.user_name
            })
            break;
          case 3: // 缺陷发现人
            break;
        }
        break
    }
  },
  selectCompanyHandle() { // 公司 
    if(this.data.u_i!=0 ){
      $.toast("该内容无法修改");
      return;
    }
    Store.dispatch({
      type: 'SET_FROM',
      form: {
        key: 'selectCompany', // 后台要的更改字段 
        type: 1, // 表单类型 1： radio  2：select
        config: {
          
        },
      },
    })
    $.linkurl(`/pages/main/chooseForm/chooseForm`)
  },

  selectStationHandle() { // 选厂站
    if(this.data.u_i!=0 ){
      $.toast("该内容无法修改");
      return;
    }
    if (this.data.company == '') {
      $.toast('请选择公司')
    } else {
      console.log("===================="+this.data.company_id)
      Store.dispatch({
        type: 'SET_FROM',
        form: {
          key: 'selectStation', // 后台要的更改字段
          type: 1, // 表单类型 1： radio  2：select
          config: {
              company_id:this.data.company_id
          },
        },
      })
      $.linkurl(`/pages/main/chooseForm/chooseForm`)
    } 
  },
  async selectYcxlmHandle (e) { // 根据厂站获取设备列表 
    if(this.data.u_i!=0 && this.data.u_i!=2 ){
      $.toast("该内容无法修改");
      return;
    }
    if (this.data.factory == '') {
      $.toast('请选择厂站')
    } else {
      var res = await app._selectStation({ dept_id: this.data.company_id, company: this.data.company })
      var result = res.data.find((item) => {
        return item.dept_name == this.data.factory
      }) 
      var { type } = $.detail(e)
      Store.dispatch({
        type: 'SET_FROM',
        form: {
          key: 'selectYcxlm', // 后台要的更改字段 
          type: 1, // 表单类型 1： radio  2：select
          config: {
            station: result.station
          },
        },
      })
      $.linkurl(`/pages/main/chooseForm/chooseForm`)
    } 
},
  getRepairerCompanyHandle(e) { // 选抢修负责人或者抢修人员
    if ($.isNull(this.data.equip) && this.data.u_i==0) {
      $.toast('请在选择设备后,在进行人员选取')
      return
    }
    var {type} = $.detail(e)
    var dept_id=this.data.equip!=''?this.data.equip_id!=''?this.data.equip_id:this.data.dept_id:this.data.dept_id;
    console.log(dept_id)
    Store.dispatch({
      type: 'SET_FROM',
      form: {
        key: 'getRepairer', // 后台要的更改字段
        type: 1, // 表单类型 1： radio  2：select
        config: {
          type , // 1 获取负责人；2获取人员；3缺陷发现人
          dept_id
        }, // 其他配置信息
      },
    })
    $.linkurl(`/pages/main/chooseForm/chooseForm`)
  },

  //##input 输入##
  input_handle(e) {
    this.setData({
      [e.currentTarget.dataset.key]: e.detail.value
    })
  },
  //##input 输入##
  setRushRepair() { // 告警转抢修处理
    if ($.isNull(this.data.company)) {
      $.toast('请选择公司')
    } else if ($.isNull(this.data.factory)) {
      $.toast('请选择厂站')
    } else if ($.isNull(this.data.equip) && this.data.u_i==0) {
      $.toast('请选择设备')
    }else if ($.isNull(this.data.leader)) {
      $.toast('请选择抢修负责人')
    } else if ($.isNull(this.data.staff)) {
      $.toast('请选择抢修人员')
    }  else if ($.isNull(this.data.content)) {
      $.toast('请输入抢修内容')
    }else {
      
      var params = {
        user_name: this.data.user_name,
        rec: this.data.rec,
        report_id: this.data.report_id,
        factory: this.data.factory,
        factory_id:this.data.factory_id,
        equip:this.data.equip,
        cm: this.data.factory,
        leader: this.data.leader,
        staff: this.data.staff,
        content: this.data.content,
        number:this.data.number,
        'dealPerson':wx.getStorageSync("user_name"),//处理人
        'dealPerson_id':wx.getStorageSync('user_id'),//处理人userId
        company: this.data.company,
        company_id:this.data.company_id,
        dept_id:this.data.equip!=''?this.data.equip_id!=''?this.data.equip_id:this.data.dept_id:this.data.dept_id
      }


      console.log(params);
      api.$post(this.data.url[this.data.u_i], params).then((res) => { 
        $.toast('提交成功')
        setTimeout(() => {
          $.linkurl('', 'back')
        }, 1500)
      })
    } 
  },


  
})